Java博大精深,也一直被誉为互联网霸主;
我们都知道互联网技术结构之复杂,所以Java的技术组件、架构也非常之多和复杂;
其实学习 Java 学到什么程度算是精通,这个其实没有盖棺定论的,也不是说你拿个年薪几十万的 offer 就可以自诩精通了。
我认为,如果市面上这些资料、书籍你都啃的差不多,你能在所有的 Java 程序员中跻身前 0.1% 的话,你就可以达到"精通" 这个阶段了,因为没人比你强了,你当然是精通了。
所以,我今天罗列一些知识点,如果你都能够掌握并且真正理解这些东西的话,那你就可以到了精通这个阶段了。
首先要学的是计算机基础知识,因为 Java 不是像 Python 那样简单,它是需要一定基础的,如果你上来直接硬肝 Java,那么 90% 的几率你会放弃。
因为要想学好 Java ,你就得理解什么是面向对象的设计思想,而面向对象的这种设计思想又不是刚开始学习编程的新人能够熟练掌握呢?那怎么办呢?这不是死局了吗?
其实,如果要想真正理解这种设计思想的话,首先可以先去了解下C语言,之后再学习Java。
为什么呢?因为 C 语言是面向过程的,什么是面向过程和面向对象的设计思想呢?我给你举个例子你就知道了。
面向过程与面向对象的区别,由“如何把大象装进冰箱”来看:
一、面向过程
为了把大象装进冰箱,需要3个过程。
思路:
1、把冰箱门打开(得到打开门的冰箱)。
2、把大象装进去(打开门后,得到里面装着大象的冰箱)。
3、把冰箱门关上(打开门、装好大象后,获得关好门的冰箱)。
根据上面的思路,可以看到,每个过程都有一个阶段性的目标,依次完成这些过程,就能把大象装进冰箱。
二、面向对象
为了把大象装进冰箱,需要做三个动作(或者叫行为)。每个动作有一个执行者,它就是对象。
思路:
1、冰箱,你给我把门打开。
2、冰箱,你给我把大象装进去(或者说,大象,你给我钻到冰箱里去)。
3、冰箱,你给我把门关上。
依次完成这些动作,你就可以把大象装进去。
这里我只是举个例子。
好了,那么从现在开始,我们就要进入 Java 的学习环节了。
学习 Java,我将会从三个阶段来介绍,分为初级、中级和高级计算机基础计算机基础都包括哪些呢?
计算机组成原理、操作系统、计算机网络、数据结构与算法。
计算机组成原理
先说计算机组成原理,这部分内容主要涉及
计算机系统概述数据与运算CPU 概述存储子系统概述总线和 IO 概述Java 基础什么是初级 Java 的水平呢?我认为就是理解 Java 的语法规则、语言特性,这么说有点干瘪,直接上思维导图!
就这一张图,如果你能把图中内容都理解的差不多,那你就可以说是入门 Java 了,但是这里要注意一个概念,这并不等于说你是一个合格的初级 Java 程序员了,因为要想达到初级 Java 程序员的水平,你要会能干活,能干活的标准是你要懂框架,不要急,我们后面会说。
有人问图中为什么没有并发或者 Java 虚拟机这些,这些属于中高级内容,刚开始学 Java 不用懂什么并发和 JVM!!!
那么话又说回来了,如何才能学习并了解到上面这些内容呢?接下来重点来了!!!
如果你能看到这里,我就认为你养成了每日编程的习惯,此时的你能够静下心来编程了。
那么我首先给你推荐一本初学 Java 非常合适的一本书
Head First Java《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。
下面是视频方向的自学流程。
https://www.bilibili.com/vide...如果你能掌握上面的基础内容部分,我觉得你应该花至少 3 - 6 个月,如果你能坚持下来的话,这里我需要鼓励一下你,但是不要自满,因为这才只是最最最最基础的部分,但是现在你可以说是一只脚踏入 Java 大门了。
MySQLMySQL 其实要和 Java 基础一起学习,你学完 Java 基础就可以学 MySQL 了。
此时的 MySQL 我指的是 MySQL 基础,因为 MySQL 博大精深,想要深入理解 MySQL 不容易,而且我们一般 Java 开发把 MySQL 掌握到中级水平就可以了。
MySQL 初级水平就是要求你会写 MySQL ,这里推荐个视频教程,由初级到高级一套搞定!
https://www.bilibili.com/vide...MySQL需要掌握的知识点:
MySQL数据库概述及数据准备MySQL安装教程SQL分类MySQL导入数据MySQL数据库表与MySQL表结构MySQL数据库常用命令MySQL查询字段MySQL条件查询MySQL排序MySQL函数MySQL分组函数/聚合函数/多行处理函数MySQL分组查询MySQL连接查询MySQL子查询MySQL UNIONMySQL中limit的用法MySQL表MySQL存储引擎MySQL事务MySQL索引MySQL视图MySQL DBA命令MySQL数据库设计的三大范式MySQL 高级内容是在工作中慢慢掌握的,如果你想要成为初级 Java 程序员,掌握这些内容,并且跟着敲下来,那么就可以说你的 MySQL 已经达到入门水准了,可以进行下面的学习了!!
JavawebJavaWeb用Java技术来解决相关web互联网领域的技术总和。Java提供了技术方案可以解决客户端和服务器端的实现,特别是服务器的应用,比如Servlet,JSP和第三方框架等等。
对于JavaWeb,我们需要掌握的知识有:
Servlet,JSP,MVC设计模式,Cookie,Session,JavBean组件技术,EL表达式,JSTL表达式,过滤器Filter,监听器Listener,文件的上传下载,国际化。
设计模式设计模式放在这里不是让你马上就要学习的(当然你也可以学习,没有人能阻碍你学习),因为设计模式涉及到你工作的方方面面。有些设计模式你可能这辈子都用不到,但是你需要了解其思想,以便写出思路严谨,条理清晰的代码。
设计模式我给你推荐几本书,你看哪个都行。
Head First 设计模式这本书虽然只有 14 章,但是却介绍到了所有的二十三种设计模式,每一种设计模式都有对应的应用案例,以风趣幽默的语言描述来一步一步为你揭开设计模式的面纱,告诉你设计模式的演进过程。
读这本书不仅仅是学习知识,而是在学习一种思考的方法,学习一种认知的技巧,学习一种成长的阶梯。总之,用你闲暇的时间来读这本书,并不亚于你专注的工作或学习。
图解设计模式设计模式